
[dbo].[BAECustomerFindRecord]
create procedure [dbo].[BAECustomerFindRecord] @id varchar(10),
@firstName varchar(20),
@lastName varchar(30),
@zip varchar(10),
@email varchar(100) as
IF @email <> ''
BEGIN
SELECT DISTINCT ID
FROM Name n
WHERE n.EMAIL = @email
UNION
SELECT DISTINCT n.ID
FROM Name n
INNER JOIN Name_Address na ON na.ID = n.ID
WHERE UPPER(na.EMAIL) = UPPER(@email);
END
ELSE IF (@id <> '' AND @lastName <> '')
BEGIN
SELECT DISTINCT ID
FROM Name n
WHERE n.ID = @id AND UPPER(n.LAST_NAME) = UPPER(@lastName);
END
ELSE IF (@zip <> '' AND @firstName <> '' AND @lastName <> '')
BEGIN
SELECT DISTINCT ID
FROM Name n
WHERE UPPER(n.ZIP) like UPPER(@zip) + '%' AND UPPER(n.LAST_NAME) = UPPER(@lastName) AND (UPPER(n.INFORMAL) = UPPER(@firstName) OR UPPER(n.FIRST_NAME) = UPPER(@firstName) OR UPPER(n.MIDDLE_NAME) = UPPER(@firstName))
UNION
SELECT DISTINCT n.ID
FROM Name n
INNER JOIN Name_Address na ON na.ID = n.ID
WHERE UPPER(na.ZIP) like UPPER(@zip) + '%' AND UPPER(n.LAST_NAME) = UPPER(@lastName) AND (UPPER(n.INFORMAL) = UPPER(@firstName) OR UPPER(n.FIRST_NAME) = UPPER(@firstName) OR UPPER(n.MIDDLE_NAME) = UPPER(@firstName))
END
GO